//JS
layui.use(['element', 'layer', 'util'], function () {
    var element = layui.element;
    var layer = layui.layer;
    var util = layui.util;
    var $ = layui.$;
    // 获取登录用户信息
    $.ajax({
        url: "/api/user/getUserInfo",
        type: "get",
        dataType: "json",
        cache: false,
        success: function (res) {
            if (res.status === 1) {
                $("#loginUser").text(res.data.username);
                $.ajax({
                    url: "/api/user/checkDbStatus",
                    method: "post",
                    dataType: "json",
                    success: function (res) {
                        if (res.status !== 1) {
                            layer.msg(res.message, {icon: 5})
                        }
                    }
                })
            } else {
                layer.msg(res.message, {icon: 5})
                setTimeout(function () {
                    window.location.href = "/loginUI";
                }, 400);
            }
        }
    })

    // 判断TAB是否还有li 来控制display none block
    $("#TAB").on("DOMNodeInserted DOMNodeRemoved", function (event) {
        var ulElement = $("#TAB").find('ul');
        setTimeout(function () {
            if (ulElement.find('li').length > 0) {
                $("#TAB").show();
            } else {
                $("#TAB").hide();
                // 重新加载iFrame
                var iframe = $('#mainFrame');
                iframe.attr('src', iframe.attr('src'));
            }
        }, 0);
    });

    // 获取登录用户的菜单
    $.ajax({
        url: "/api/menu/getMenuByUser",
        dataType: "json",
        success: function (res) {
            if (res.status === 1) {
                for (var i = 0; i < res.data.length; i++) {
                    var menu = res.data[i]
                    if (menu.menuType === "M") {
                        $("#menu-ul").append("<li class=\"layui-nav-item\"> <a href='javascript:;'><img class=\'imgIcon\' src=\'" + menu.icon + "\'>" + menu.menuName + "</a><dl class=\"layui-nav-child " + menu.menuId + "\"></dl></li>")
                    } else if (menu.menuType === "C") {
                        $("." + menu.parentId + "").append("<dd><a href='" + menu.url + "' class='" + menu.url + "' id='" + menu.menuId + "' lay-on='tabAdd' target='mainFrame'>" + menu.menuName + "</a></dd>")
                    }
                }
                // 渲染菜单
                element.render();
            } else {
                layer.msg(res.message, {icon: 5})
            }

        }
    })

    // 每日一言
    $.ajax({
        url: "https://api.wrdan.com/hitokoto",
        method: "get",
        dataType: "json",
        success: function (res) {
            $("#hitokoto").text(res.text)
            $("#source").text("__> " + res.source)
        }
    })

    // 选项卡
    util.on('lay-on', {
        tabAdd: function (data) {
            var url = data.context.className;
            var id = data.context.id;
            var title = "<a href='" + url + "' target='mainFrame' style='display: inline-block'>" + data.context.innerText + "</a>";
            // 获取当前所有选项卡的id列表
            var tabIds = [];
            $('.layui-tab-title').find('li').each(function () {
                var tabId = $(this).attr('lay-id');
                tabIds.push(tabId);
            });

            // 检查要添加的选项卡的id是否已存在于列表中
            if (tabIds.includes(id)) {
                element.tabChange('TAB', id)
                $("#" + id + "").closest("dd").removeClass();
                return; // 如果id已存在，则不执行添加选项卡的操作
            }

            element.tabAdd('TAB', {
                title: title,
                id: id //
            })

            $("#" + id + "").closest("dd").removeClass();
            element.tabChange('TAB', id)
        }
    });

    //头部事件
    util.event('lay-header-event', {
        menuLeft: function (othis) { // 左侧菜单事件
            layer.msg('展开左侧菜单的操作', {icon: 0});
        },
        menuRight: function () {  // 右侧菜单事件
            layer.open({
                type: 1,
                title: '更多',
                content: '<div style="padding: 15px;">处理右侧面板的操作</div>',
                area: ['260px', '100%'],
                offset: 'rt', // 右上角
                anim: 'slideLeft', // 从右侧抽屉滑出
                shadeClose: true,
                scrollbar: false
            });
        }
    });
});

